home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / c / cujoct93.zip / 1110070C < prev    next >
Text File  |  1993-03-18  |  2KB  |  80 lines

  1. /***************** RANDOMS.C ******************/
  2. #include <graphics.h>
  3. #include <string.h>
  4. #include "randefs.h"
  5. #include "probab.h"
  6. #include "datacomp.h"
  7. #include "displays.h"
  8. #include <stdlib.h>
  9.  
  10. /**************** Label Arrays ****************/
  11. static char *coin[] =
  12. {"  HEAD","  TAIL", "ONE COIN:"};
  13. static char *loadedcoin[] =
  14. {"  HEAD","  TAIL", "LOADED COIN:"};
  15. static char *twocoins[] =
  16. {"  H,H","HT/TH","  T,T", "TWO COINS:"};
  17. static char *onedie[] =
  18. {" 1"," 2"," 3"," 4"," 5"," 6", "ONE DIE:"};
  19. static char *twodice[] =
  20. {"2","3","4","5","6","7","8","9","10","11","12",
  21.  "TWO DICE:"};
  22. static char *loadeddice[] =
  23. {"2","3","4","5","6","7","8","9","10","11","12",
  24.  "LOADED DICE:"};
  25. static char *fourdice[] =
  26. {"4","5","6","7","8", "9","10","11","12","13","14",
  27.  "15","16","17","18","19","20","21","22","23","24",
  28.  "FOUR DICE:"};
  29. static char *normal[] =
  30. {"-3","","","","-2","","","","-1","","","",
  31.  " 0","","",""," 1","","",""," 2","","",""," 3",
  32.  "NORMAL DISTRIBUTION:"};
  33. static char *uniform_circular[] =
  34. {"0",  "","","","","","90", "","","","","",
  35.  "180","","","","","","270","","","","","",
  36.  "UNIFORM CIRCULAR:"};
  37.  
  38. static RAND tbl[] = {
  39.  {2, 1, Dummy,   0, 2, 0, 1.0, coin      },
  40.  {2, 1, LoadZero,0, 2, 0, 1.0, loadedcoin},
  41.  {2, 2, Dummy,   0, 3, 0, 1.0, twocoins  },
  42.  {6, 1, Dummy,   0, 6, 0, 1.0, onedie    },
  43.  {6, 2, Dummy,   0, 11,0, 1.0, twodice   },
  44.  {6, 2, LoadZero,0, 11,0, 1.0, loadeddice},
  45.  {6, 4, Dummy,   0, 21,0, 1.0, fourdice  },
  46.  {25,1, Normal,  0, 25,0, 0.25,normal    },
  47.  {24,1, Dummy,   0, 24,0, 1.0, uniform_circular}
  48. };
  49.  
  50. static int filtr_wts[][MAXWTLEN] = {
  51.   /** Running Average **/
  52.   {11, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
  53.   /** Low-Pass RC, ratio = 1.2 **/
  54.   {11,322,10,12,14,17,21,25,30,36,43,52,62 },
  55.   /** Differentiator  **/
  56.   {13, 12,-1,-1,-1,-1,-1,-1, 0, 1, 1, 1, 1, 1, 1 }
  57. };
  58.  
  59. void main(void)
  60. {
  61.   int   k, kmax = DIM(tbl), gmode, errorcode,
  62.         gdriver = DETECT;  /* request autodetect */
  63.   RAND  xampl;             /* an example         */
  64.  
  65.   initgraph(&gdriver, &gmode, "");
  66.   setviewport(OFFX, OFFY-FS, OFFX+SPAN, OFFY-1,0);
  67.  
  68.   for (k = 0; k < kmax; k++)
  69.   {  memcpy((void *)&xampl,(void *)&tbl[k],sizeof(RAND));
  70.      if (MakeHistogram(&xampl) )
  71.         break;
  72.      if (RandWalk(&xampl) )
  73.         break;
  74.      MakeScopeSignals(&xampl, filtr_wts);
  75.      if (ESC == getch() )   /* User's chance to exit */
  76.         break;
  77.   }
  78.   closegraph();
  79. }
  80.